package com.deco.dao.warpper.product;

import com.deco.domain.vo.sys.CmsRoleVo;
import com.free.common.vo.PageResponseVo;
import com.free.common.vo.PageSearchVo;
import com.free.ext.mybatis.model.entity.PageResponseModel;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.deco.dao.delegate.product.ICatagoryLogDao;
import com.deco.dao.domain.table.CatagoryLog;
import com.deco.dao.logic.product.CatagoryLogDao;
import com.deco.domain.vo.product.CatagoryLogVo;
import com.free.ext.mybatis.warpper.BaseDaoWarpper;
import tk.mybatis.orderbyhelper.OrderByHelper;

import java.util.List;

/**
 * <p>
 * 功能概述:
 * </p>
 * <p>
 * 功能详述:
 * </p>
 */
@Repository
public class CatagoryLogDaoWarpper extends BaseDaoWarpper<CatagoryLogVo,Integer,CatagoryLog> implements ICatagoryLogDao {

    /*========================================================================*
     *                         Public Fields (公共属性)
     *========================================================================*/

    /*========================================================================*
     *                         Private Fields (私有属性)
     *========================================================================*/
    @Autowired
    private CatagoryLogDao catagoryLogDao;

    /*========================================================================*
     *                         Construct Methods (构造方法)
     *========================================================================*/

    /*========================================================================*
     *                         Public Methods (公有方法)
     *========================================================================*/

    @Override
    public void registerEnums() {

    }

    @Override
    public PageResponseVo<CatagoryLogVo> selectCatagoryByCondition(CatagoryLogVo catagoryLogVo, String orderBy, int pageNo, int pageSize) {
        CatagoryLog catagroyLog = convertToTable(catagoryLogVo);
        if (StringUtils.isNotEmpty(orderBy))
        {
            OrderByHelper.orderBy(orderBy);
        }
        PageResponseModel<CatagoryLog> respModel = catagoryLogDao.selectCatagoryByCondition(catagroyLog, orderBy, pageNo, pageSize);
        return convertToViewResponseVo(respModel);
    }

    @Override
    public PageResponseVo<CatagoryLogVo> selectCatagoryGroupbySubline(String orderBy, int pageNo, int pageSize) {
        if (StringUtils.isNotEmpty(orderBy))
        {
            OrderByHelper.orderBy(orderBy);
        }
        PageResponseModel<CatagoryLog> respModel = catagoryLogDao.selectCatagoryGroupbySubline(orderBy, pageNo, pageSize);
        return convertToViewResponseVo(respModel);
    }

    /*========================================================================*
     *                         Private Methods (私有方法)
     *========================================================================*/
}
